1. Field of the Invention
The field of this invention relates to global register usage and conflict detection systems, methods, and computer program products, and more particularly to the indication of global register usage and the detection of usage conflicts in global registers.
2. Description of the Related Art
In particular computer program systems, registers are used to temporarily hold copies of the contents of variables required by an executing computer program. Persistent values for variables are stored in memory. It is known to be useful, moreover, to designate one or more of the registers in a computer program system as global in scope (that is, used by the entire computer program and not just by particular modules or subroutines) and to dedicate for the use of the global registers certain variables which are also of global scope.
Since particular programs are linked from individual object modules that are each compiled separately, different symbols may refer to the same global register, causing incorrect referencing and scoping of variables. Particular programs furthemore incorporate code from one or more libraries, which is also compiled separately, compounding the misreferencing. A severe technical problem arises when different portions of a particular program each use a single given global register to contain different variable values. Such a usage tends to cause incorrect results because the wrong variable value might be in the global register at the wrong time.
Additionally, another technical problem arises with respect to initializing global values during software operation. While known mechanisms exist for initializing variables in memory to given values before program execution begins, there are no such known mechanisms for initializing a register that is to contain a global variable set to a given value before execution begins.